home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Programming / EasyPLUGINs / examples / textfield_demo.e < prev    next >
Encoding:
Text File  |  1998-02-12  |  2.1 KB  |  84 lines

  1. OPT OSVERSION=38
  2.  
  3. MODULE 'easyplugins/textfield','*textfield_mod/aslFR',
  4.        'tools/easygui',
  5.        'intuition','intuition/intuition',
  6.        'utility/tagitem',
  7.        'libraries/gadtools',
  8.        'dos/dos'
  9.  
  10. PROC main()
  11. DEF tf:PTR TO textfield_plugin, asl:PTR TO aslFR
  12.  
  13.    NEW asl.asl()
  14.    asl.setname('sys:')
  15.  
  16.    easyguiA('TextField Demo',
  17.             [ROWS,
  18.                [PLUGIN, 0, NEW tf.textfield()]
  19.             ],
  20.             [EG_MENU,[NM_TITLE,0,'Project'      ,0, 0,0,0,
  21.                       NM_ITEM ,0,'Load...'      ,'l',0,0,{load},
  22.                       NM_ITEM ,0,'Save...'      ,'s',0,0,{save},
  23.                       NM_ITEM ,0,NM_BARLABEL    ,0,0,0,0,
  24.                       NM_ITEM ,0,'About'        ,'?',0,0,{about},
  25.                       NM_ITEM ,0,NM_BARLABEL    ,0,0,0,0,
  26.                       NM_ITEM ,0,'Quit'         ,'q',0,0,0,
  27.                       0,0,0,0,0,0,0]:newmenu,
  28.             EG_INFO, [asl,tf],
  29.             TAG_DONE]
  30.            )
  31.  
  32. END asl
  33. END tf
  34.  
  35. ENDPROC
  36.  
  37.  
  38. PROC about()
  39.    EasyRequestArgs(NIL,[SIZEOF easystruct,0,'About',
  40.                    'TextField Plugin Demo\n~~~~~~~~~~~~~~~~~~~~~~\nWritten by Ralph Wermke of Digital Innovations\n\nPart of the EasyPLUGINs package',
  41.                     'Okay']:easystruct,NIL,NIL)
  42. ENDPROC
  43.  
  44. PROC load(l:PTR TO LONG)
  45. DEF asl:PTR TO aslFR, tf:PTR TO textfield_plugin, fh, len=0,
  46.     txt:PTR TO CHAR
  47.  
  48.    asl:=l[0]
  49.    tf :=l[1]
  50.  
  51.    IF asl.open('Load Text')
  52.       IF (fh:=Open(asl.name, OLDFILE))
  53.          Seek(fh, 0, OFFSET_END)
  54.          len:=Seek(fh, 0, OFFSET_BEGINNING)
  55.          txt:=New(len+1)
  56.          Read(fh, txt, len)
  57.          txt[len]:=0
  58.          tf.set(PLA_TextField_Text, txt)
  59.          Dispose(txt)
  60.          Close(fh)
  61.       ELSE
  62.          PrintF('ERROR: Can''t open file!\n')
  63.       ENDIF
  64.    ENDIF
  65.  
  66. ENDPROC
  67.  
  68. PROC save(l:PTR TO LONG)
  69. DEF asl:PTR TO aslFR, tf:PTR TO textfield_plugin, fh, len, txt
  70.  
  71.    asl:=l[0]
  72.    tf :=l[1]
  73.  
  74.    IF asl.open('Save Text',0,TRUE)
  75.       len:=tf.get(PLA_TextField_TextLen)
  76.       txt:=tf.get(PLA_TextField_Text)
  77.       IF (fh:=Open(asl.name, NEWFILE))
  78.          Write(fh, txt, len)
  79.          Close(fh)
  80.       ENDIF
  81.    ENDIF
  82.  
  83. ENDPROC
  84.